React (webrammeverk)
React | |||
---|---|---|---|
Skaper(e) | Meta | ||
Utvikler(e) | Meta, Harshil Patel, Sebastian Markbåge, Dan Abramov, Rachel Nabors, Andrew Clark | ||
Utgitt | 29. mai 2013 | ||
Nyeste versjon | 18.3.1 (26. april 2024)[1] | ||
Kodelager | https://github.com/facebook/react | ||
Operativsystem | multiplattform | ||
Skrevet i | JavaScript | ||
Type | Webapplikasjon | ||
Lisens | MIT-lisensen[2][3] | ||
Nettsted | ar.reactjs.org (ar) ru.reactjs.org (ru) react.dev (en) (2023–) | ||
React (også kjent som React.js og ReactJS) er et JavaScript-bibliotek[4] for å lage og bygge brukergrensesnitt. Det vedlikeholdes av Meta (tidligere Facebook) og et fellesskap av ulike utviklere og selskaper.[5][6][7]
React brukes gjerne som et utgangspunkt i utviklingen av enkeltside- (engelsk single-page) eller mobilapplikasjoner. Rammeverket er optimalisert for raskt å hente ut skiftende data som må registreres. Henting av data er imidlertid bare begynnelsen på det som skjer på en nettside, og det er grunnen til at komplekse React-applikasjoner vanligvis krever ekstra biblioteker for tilstandsstyring, ruting og interaksjon med et API.[8][9] Redux[10], React Router[11] og Axios[12] er eksempler på slike biblioteker.
Historie
[rediger | rediger kilde]React ble i utgangspunktet utviklet i 2011 av Jordan Walke, en programvareingeniør ved Facebook, først og fremst ved utviklingen av Facebooks Newsfeed-produkt. Senere ble det videreført og tatt i bruk i 2012 i bildedelingstjenesten Instagram. I mai 2013 kunngjorde Facebook at de ønsket å videreføre React i framtiden som et Open Source-Prosjekt. I oktober 2014 ble Reacts programvarelisens endret fra Apache-lisensen til BSD-lisensen som en ytterligere patentlisens, som forbeholder Facebook retten til å trekke tilbake lisensen ved patentstridigheter[13]. Denne ukonvensjonelle klausulen førte til en kontroversiell diskusjon. En omformulering av denne patentklausulen i april 2015 førte ikke til en slutt på konfliktene. I juli 2017 offentliggjorde Apace Software Foundation at de ikke tillater at apache-prosjekter kan ha denne tilleggslisensen. Kontra den opprinnelige informasjonen og uten ønske om å gå tilbake fra klausulen, offentliggjorde Facebook i september 2017 React versjon 16.0.0. under lisensen MIT.
Grunnleggende bruk
[rediger | rediger kilde]Følgende er et rudimentært eksempel på React-bruk i HTML med JSX og JavaScript.
<div id="myReactApp"></div>
<script type="text/babel">
class Greeter extends React.Component {
render() {
return <h1>{this.props.greeting}</h1>
}
}
ReactDOM.render(<Greeter greeting="Hello World!" />, document.getElementById('myReactApp'));
</script>
Greeter
-klassen er en React-komponent som godtar en egenskap greeting
. ReactDOM.render
-metoden skaper en forekomst av Greeter
-komponenten, setter greeting
-forekomsten til 'Hello World'
og setter inn den gjengitte komponenten som et barnelement i DOM-elementet med ID myReactApp
.
Når det vises i en nettleser, blir resultatet
<div id="myReactApp">
<h1>Hello World!</h1>
</div>
Referanser
[rediger | rediger kilde]- ^ https://registry.npmjs.com/react.
- ^ «React v16.0».
- ^ "Change license and remove references to PATENTS"; tidspunkt: 24. september 2017.
- ^ «React - A JavaScript library for building user interfaces.». React. Besøkt 7. april 2018.
- ^ Krill, Paul (15. mai 2014). «React: Making faster, smoother UIs for data-driven Web apps». InfoWorld.
- ^ Hemel, Zef (3. juni 2013). «Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews». InfoQ.
- ^ Dawson, Chris (25. juli 2014). «JavaScript’s History and How it Led To ReactJS». The New Stack.
- ^ Dere, Mohan (19. februar 2018). «How to integrate create-react-app with all the libraries you need to make a great app». freeCodeCamp.
- ^ Samp, Jon (13. januar 2018). «React Router to Redux First Router». About Codecademy. Besøkt 14. juni 2018.
- ^ «Redux · A Predictable State Container for JS Apps». redux.js.org. Besøkt 23. oktober 2019.
- ^ «React Router: Declarative Routing for React». ReactRouterWebsite (på engelsk). Besøkt 23. oktober 2019.
- ^ Promise based HTTP client for the browser and node.js: axios/axios, axios, 2019-10-23, https://github.com/axios/axios, besøkt 2019-10-23
- ^ «BSD + PATENTS · facebook/react@dcf415c». GitHub (på engelsk). Besøkt 29. januar 2021.
Eksterne lenker
[rediger | rediger kilde]- (en) Offisielt nettsted
- (en) Offisiell blogg
- (en) React (software) – kategori av bilder, video eller lyd på Commons
- React på X (tidligere Twitter)
- (en) React eksempel